Back
LAL:

Syntax:

  • LAL C5
Description:

The LAL (load address and length) instruction captures the output of the AGU. The optional input C5 to the LAL instruction has the following function:

  • C5: When C5 = 1, exceptions are conditioned by the top of the stack (see below for the exceptions that are conditioned by C5).

The relevant information for the MTQ, RTQ, RTM and MTR instructions are decoded from the latest value captured by the LAL. The encoding of this information is as follows:

Bit(s) Mask Description
[62] 40000000 00000000 QNOP: if set, MTQ and RTQ are ignored
[61] 20000000 00000000 DTQ-OFFSET: if set, RTQ becomes delayed
[60:48] 1FFF0000 00000000 burst length
[48:32] 00003F3F 00000000 communication offset (see below)
[39] 00000080 00000000 local duplication (see below)
[31:0] 00000000 FFFFFFFF memory address

The communication offsets are:

  • 0000 => local
  • 0001 => send z-
  • 0002 => send z-
  • 0004 => send y-
  • 0008 => send y+
  • 0010 => send x-
  • 0020 => send x+
  • 0100 => receive z-
  • 0200 => receive z+
  • 0400 => receive y-
  • 0800 => receive y+
  • 1000 => receive x-
  • 2000 => receive x+

Local duplication: When on, the data is sent to the local queue (in addition to the remote ones

Microcode Pattern:

Takes 1 cycles to execute.
    Example: LAL 1

	  
	 C5  MCC   STKC  FLW  IOC  AGU   ASEL 
	--------------------------------------
	  1    -     -    -    -    -     LAL 

	  
Exceptions :

Configuration Register: 0x20 (CrMemExc)

Exception No. Mask R/W Access Cond. Name
[3] 00000000 00000008 RW RemLenOvf
[9] 00000000 00000200 RW C5 Len0
[10] 00000000 00000400 RW C5 LenOvf
[11] 00000000 00000800 RW C5 LocalAddressOvf
[12] 00000000 00001000 RW C5 RemoteAddressOvf

  • [3] - LAL with REMOTE_SEND != 0 and LENGTH > 64
  • [9] - LAL with LENGTH == 0 and QNOP == 0
  • [10] - LAL with LENGTH > 0x200 and QNOP == X
  • [11] - LAL with ADDRESS & MemMask
  • [12] - LAL with ADDRESS & 0x800000000000 != 0

Example :

AGU_D ZERO 0x0002102000000000 ! Offset generated on the
                              ! AGU with the encoding:
                              ! Burst = 2, 
                              ! Remote offset = ox+,ix-

LAL                           ! Loads the output of the AGU

RTQ 0xb 0xc                   ! Transfers the content of regs
                              ! 0xb, 0xc to ox+, and receives
                              ! the corresponding values from 
                              ! a neighboring node on ix-

APE Group Zeuthen. 2003

$Id: syntax.php,v 1.8 2004/08/04 09:25:34 noe Exp $